home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 18 / CU Amiga Magazine's Super CD-ROM 18 (1997)(EMAP Images)(GB)[!][issue 1998-01].iso / CUCD / Online / CNetDemo / cnet / sdk / include / subs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-09-04  |  25.5 KB  |  791 lines

  1.  
  2. struct SelectType {            /* Select list */
  3.     long    Size;
  4.  
  5.     char    Title   [32];
  6.     char    Location[96];        /* physical path to file */
  7.     short    Base;            /* physical subboard # */
  8.  
  9.     UBYTE    SDownFiles;        /* Which accounting schedule ? */
  10.     UBYTE    SDownBytes;
  11.  
  12.     UBYTE    temp_rem;        /* DS from DS list!! */
  13.     UBYTE    CDROM;            /* Copy to CDROMpath before download? */
  14.     BYTE    FreeStuff;
  15.     UBYTE    AutoKill;        /* 1==mark for amaint deletion when downloaded
  16.                        2==Yank, 3==DELETE when unselected */
  17.  
  18.     long    ByteDownload;        /* credits to subtract when this */
  19.     short    FileDownload;        /* item is downloaded ... */
  20.                     /* makes * faster by being here */
  21.     struct    IsDate ADate;        /* utility ... AO adopt dates? */
  22.  
  23.     ULONG    Number;            /* item number */
  24. };
  25.  
  26. struct BaseUser {
  27.     long    UID;            /* ==IDNumber if user's been here */
  28.  
  29.     BYTE    Joined;            /* -1 dropped, 0 sub.def., 1 joined  */
  30.     BYTE    Invited;        /* -1 denied,  0 sub.def., 1 invited */
  31.     BYTE    Sort;
  32.     UBYTE    scan_flags;        /* used to 'mark' subboards */
  33.  
  34.     struct    IsDate LastMNew;
  35.     struct    IsDate MNewDate;
  36.  
  37.     long    Created;        /* when sub was created */
  38.  
  39.     char    Alias[22];
  40.     BYTE    Carbons;        /* -1 no, 0 sub.def., 1 yes */
  41.     UBYTE    MNewSave;
  42.  
  43.     short    tome0;
  44.     short    tome1;            /* while "online" */
  45.  
  46.     char    expansion[12];
  47. };
  48.  
  49. struct HeaderType {
  50.     struct    IsDate ShowDate;    /* for display */
  51.     struct    IsDate EditDate;    /* last edited */
  52.     struct    IsDate PostDate;
  53.  
  54.     short    ByAccount;
  55.  
  56.     char    NetAddress[52];        /* May be shortened */
  57.     long    UUCPnumber;
  58.  
  59.     char    other[16];
  60.  
  61.     char    By[36];            /* Real name or alias */
  62.     char    ByUser[24];        /* Handle */
  63.     long    ByID;
  64.  
  65.     char    To[36];
  66.     char    ToUser[24];
  67.     long    ToID;
  68.  
  69.     UBYTE    ByNotParanoid;        /* allow showing real name? */
  70.     UBYTE    ByAnonymous;
  71.     UBYTE    ToAnonymous;
  72.     UBYTE    Private;
  73.  
  74.     UBYTE    Imported;
  75.     UBYTE    ByAlias;        /* is BY an alais for ByUser? */
  76.     UBYTE    ToNotParanoid;        /* allow showing real name? */
  77.     UBYTE    ToAlias;        /* is TO an alias for ToUser? */
  78.  
  79.     short    ToAccount;        /* for SendToMailBox() */
  80.  
  81.     ULONG    Magic;            /* to ensure alignment   */
  82.     ULONG    Number;            /* unique message number */
  83.  
  84.     long    Text;
  85.     long    TextLen;
  86.  
  87.     char    Organ[31];
  88.  
  89.     UBYTE    Received;
  90.  
  91.     short    unknown;
  92.  
  93.     long    Next;
  94.     long    Previous;
  95. };
  96.  
  97. struct    OldMessageType {
  98.     long    ItemNumber;
  99.     long    ResponseNumber;
  100.     long    ByID;
  101.     long    ToID;
  102.  
  103.     struct    IsDate PostDate;
  104.  
  105.     UBYTE    Imported;
  106.     UBYTE    IsFile;
  107. };
  108.  
  109. struct    MessageType3 {
  110.     ULONG    ItemNumber;        /* item serial ID# */
  111.     long    Seek;            /* position in text */
  112.     long    ByID;
  113.     long    ToID;
  114.     ULONG    Number;            /* serial ID# */
  115.  
  116.     struct    IsDate PostDate;
  117.  
  118.     UBYTE    Imported;
  119.     UBYTE    IsFile;
  120. };
  121.  
  122. struct    OldItemType {
  123.     long    Number;
  124.     long    Response1;        /*  1st valid response # */
  125.     long    Responses;        /* last valid response # */
  126.  
  127.     char    Title[72];
  128.     struct    IsDate PostDate;    /* new item ?      */
  129.     struct    IsDate RespDate;    /* new responses ? */
  130.  
  131.     long    ByID;
  132.     long    ToID;
  133.  
  134.     long    Size;
  135.     long    Downloads;
  136.     char    Info[84];
  137.     struct    IsDate UsedDate;    /* new downloads ? */
  138.     short    Part;            /* which partition? */
  139.  
  140.     short    fcredit;    /* Remember the Accounting credits */
  141.     short    bcredit;    /* and File/Byte credits given for */
  142.     UBYTE    fratio;        /* for this item so they can accurately */
  143.     UBYTE    bratio;        /* be removed if un-validated or killed */
  144.  
  145.     UBYTE    Private;
  146.     UBYTE    Killed;
  147.  
  148.     UBYTE    PleaseKill;
  149.     UBYTE    Frozen;
  150.     UBYTE    Free;
  151.     UBYTE    Protected;
  152.  
  153.     UBYTE    Favorite;
  154.     UBYTE    Validated;
  155.     UBYTE    Finished;
  156.     UBYTE    Described;
  157.  
  158.     UBYTE    Transformed;        /* has the script been ran? */
  159.     UBYTE    MissingPost;
  160.     UBYTE    MissingFile;
  161.     BYTE    Integrity;        /* 0 == not tested
  162.                        1 == passed
  163.                       -1 == failed
  164.                        2 == not testable */
  165.  
  166.     short    ByAccount;        /* for AddCredits */
  167.  
  168.     short    order;            /* for New Files Scan */
  169.     short    base;
  170.     UBYTE    WasMoved;
  171.  
  172.     BYTE    expand[57];
  173. };
  174.  
  175. /* size = 34 */
  176.  
  177. struct    ItemHeader {
  178.     ULONG    Number;
  179.     long    Size;            /* ==0-->POST, not file */
  180.     long    Responses;        /* How many responses */
  181.  
  182.     struct    IsDate PostDate;    /* new item ?      */
  183.     struct    IsDate RespDate;    /* new responses ? */
  184.  
  185.     UBYTE    TitleSort[9];
  186.     UBYTE    Killed;
  187. };
  188.  
  189. struct    ItemType3 {
  190.     char    Title[42];        /* 0 */
  191.     short    ByAccount;        /* 42 Uploader's account # */
  192.  
  193.     long    ByID;            /* 44 */
  194.     long    ToID;            /* 48 */
  195.  
  196.     struct    IsDate UsedDate;    /* 52 new downloads ? */
  197.     short    Part;            /* 58 which partition? */
  198.  
  199.     long    Downloads;        /* 60 */
  200.  
  201.     long    ByteCharges;        /* 64 Accounting system charges to the */
  202.     short    FileCharges;        /* 68 uploader ... */
  203.  
  204.     UBYTE    Private;        /* 70 */
  205.     UBYTE    DLnotifyULer;        /* 71 */
  206.  
  207.     UBYTE    PleaseKill_obs;        /* 72 */
  208.     UBYTE    Frozen;            /* 73 */
  209.     UBYTE    Free;            /* 74 */
  210.     UBYTE    delta;
  211.  
  212.     UBYTE    Favorite;        /* 76 */
  213.     UBYTE    Validated;        /* 77 */
  214.     UBYTE    Finished;        /* 78 */
  215.     UBYTE    Described;        /* 79 */
  216.  
  217.     UBYTE    Transformed;        /* 80 has the script been ran? */
  218.     UBYTE    PurgeKill;        /* 81 delete file when purged? */
  219.     UBYTE    MissingFile;        /* 82 offline? */
  220.     BYTE    Integrity;        /* 83    0 == not tested
  221.                         1 == passed
  222.                            -1 == failed
  223.                         2 == not testable */
  224.  
  225.     UBYTE    AutoGrab;        /* 84 ASCII-Grab when read */
  226.     UBYTE    PurgeStatus;        /* 85   0 == Auto
  227.                         1 == @DL
  228.                         2 == Query@DL
  229.                         3 == @Amaint
  230.                         4 == Protected */
  231.  
  232.     struct    IsDate ShowDate;
  233.  
  234.     short    order;            /*  92 on disk ...*/
  235.  
  236.     UBYTE    nada[5];        /*  94 reserved */
  237.     UBYTE    VirusChecked;        /*  99 */
  238.     UBYTE    override;        /* 100 */
  239.     UBYTE    loaded;            /* 101 is in memory? */
  240.  
  241.     short    FilePayBack;        /* 102 after each download */
  242.     long    BytePayBack;        /* 104 Credits to award the uploader */
  243.  
  244.     long    VoteLink;        /* 108 vote serial# */
  245.     long    SizeTemp;        /* 112 used privately by AT */
  246.  
  247.     long    ByteRewards;        /* 116 # of bytes awarded so far */
  248.     long    FileRewards;        /* 120 # of files awarded so far */
  249.  
  250.     long    ByteDownload;        /* 124 Number of byte cred to download */
  251.     short    FileDownload;        /* 128 Number of file cred to download */
  252.  
  253.     struct    IsDate DLableFrom;    /* 130 */
  254.     struct    IsDate DLableTo;    /* 136 */
  255.     struct    IsDate PurgeOn;        /* 142 */
  256.  
  257.     long    BestCPS;        /* 148 best download rate this file */
  258.  
  259.     long    First;            /* 152 pointer to post in _Text */
  260.     long    Last;            /* 156 pointer to last response in _Text */
  261.  
  262.     long    InfoX;            /* 160 pointer into _Short */
  263.     long    InfoLen;        /* 164 */
  264. };
  265.  
  266. struct FreeType
  267. {
  268.     long    start;
  269.     long    length;
  270.     struct    FreeType *next;
  271. };
  272.  
  273. struct NewSubboardType {
  274.     char    Title[31];        /* 0  */
  275.     char    SubDirName[21];        /* 31 */
  276.     char    DataPath  [40];        /* 52 */
  277.     long    Parts;            /* 92 partitions 0-31 now allowed */
  278.  
  279.     long    SubOpIDs [6];        /* 96 */
  280.  
  281.     short    MRewardBytes;        /* 120 % of byte  size to award */
  282.     short    NRewardFiles;        /* 122 # of file creds to award
  283.                            uploader each time his file is
  284.                            downloaded */
  285.  
  286.     struct    FreeType *free0;    /* 124 */
  287.     long    nf_obs;            /* 128 */
  288.     long    nfmax_obs;        /* 132 */
  289.  
  290.     short    SubOpAccs[6];        /* 136 */
  291.  
  292.     char    Filler[6];        /* 148 shown during SCAN */
  293.  
  294.     UBYTE    fdelta;            /* 152 */
  295.     UBYTE    floaded;        /* 154 */
  296.  
  297.     UBYTE    Direct;            /* 156 Disk-exchange type */
  298.     UBYTE    Vote;            /* 157 May non-sysops add topics? */
  299.  
  300.     short    FreeDays;        /* 158 when files are auto-free */
  301.  
  302.     UBYTE    Subdirectory;        // 1==dir, 2==text/door
  303.     UBYTE    Closed;
  304.  
  305.     long    UnionFlags;        /* 162 Must have all of these flags */
  306.     long    Access;            /* 166 Groups which may ENTER */
  307.     long    PostAccess;        /* 170 Groups which may Post  */
  308.     long    RespondAccess;        /* 174 ... Respond */
  309.     long    UploadAccess;        /* 178 ... Upload */
  310.     long    DownloadAccess;        /* 182 ... Download */
  311.     long    ComputerTypes;        /* 186 */
  312.     long    Hours;            /* 190 restricted entry hours */
  313.     long    HourUnionFlags;        /* 194 */
  314.     long    HourAccess;        /* 198 groups which may Enter during Hours*/
  315.     long    Baud;            /* 202 minimum Baud rate to enter */
  316.     long    BaudHours;        /* 206 hours to enforce min baud rate */
  317.  
  318.     UBYTE    Gender;            /* 210 0 or 'M', 'F' */
  319.     UBYTE    AllowAliases;
  320.     UBYTE    PurgeStatus;        /* 212 */
  321.     UBYTE    Youngest;        /* 213 */
  322.  
  323.     UBYTE    EXTRA;
  324.  
  325.     UBYTE    Oldest;            /* 215 */
  326.  
  327.     struct    IsDate    Sent;        /* 216 FIDO to track new messages */
  328.  
  329.     short    MDownBytes;        /* 222 % of download bytes to subtract */
  330.     short    NDownFiles;        /* 224 # of files to subtract per download */
  331.     short    MTimeCredit;        /* 226 % of time to give back for uploads */
  332.  
  333.     long    MinFreeBytes;    /* 228 to upload in this subboard */
  334.     short    SubSort;    /* 232 */
  335.     short    InactiveDays;    /* 234 */
  336.  
  337.     UBYTE    RealNames;    /* 236 use real names instead of Handles? */
  338.     UBYTE    Addressees;
  339.     UBYTE    Anonymous;
  340.     UBYTE    override;    /* 239 how to set the use defaults flags in
  341.                     newly uploaded items */
  342.  
  343.     UBYTE    Verification;    /* 240 */
  344.     UBYTE    DupCheck;
  345.     UBYTE    ShowUnvalidated;
  346.     UBYTE    NoMCI;
  347.  
  348.     UBYTE    PrivateArea;    /* 244 0/1 No/Yes ... 2==FORCE */
  349.     BYTE    SDownFiles;    /* Which download charge schedules? */
  350.     BYTE    SDownBytes;
  351.     UBYTE    Test;        /* test at upload time */
  352.  
  353.     UBYTE    Transform;    /* 248 run script at upload time */
  354.     UBYTE    AutoAdopt;    /* Adopt Orphans at a-maint */
  355.     UBYTE    WeedResponses;    /* Use inactive days against indiv responses */
  356.     UBYTE    NoSignatures;
  357.  
  358.     UBYTE    NoReadCharges;    /* 252 opt to short circuit accounting system */
  359.     UBYTE    NoWriteCharges; /* 253 for reading/writing messages */
  360.  
  361.     long    Arcs;        /* 254 which Arcs in BBSARC are allowed uploaded*/
  362.  
  363.     short    UpRatioBytes;    /* 258 which set of file/byte ratios to use? */
  364.     short    UpChargeBytes;    /* 260 which set of charges to use?          */
  365.     short    UpRatioFiles;    /* 262 */
  366.     short    UpChargeFiles;    /* 264 */
  367.  
  368.     UBYTE    Invitation;    /* 266 */
  369.     UBYTE    UserMustJoin;
  370.     UBYTE    DeleteOwn;
  371.     UBYTE    Marker;        /* 0 = subdir, 1 = Messages, 2 = Files,
  372.                         4 = text/door area, 5=Text file, etc,
  373.                         ^ same as "object class" during "AL"
  374.                         &128 = Killed */
  375.  
  376.     long    Transforms;    /* 270 which BBSARCS to transform */
  377.  
  378.     long    ExportTo;    /* 274 */
  379.  
  380.     char    NothingNow[8];    /* 278 */
  381.  
  382.     ULONG    count;        /* 286 replaces the _COUNT file */
  383.     ULONG    hiwater;    /* 290 */
  384.  
  385.     UBYTE    NetNumber;                // 294    ->    0 = none, 1=Usenet/NNTP, 2=mailing list 
  386.                                         //            ->    type 2 (mailing list) added 25-Jun-97 v4.27c
  387.  
  388.     UBYTE    Locked;                    // 295 Does AMAINT have a lock here?
  389.     UBYTE    DLnotifyULer;            // 296
  390.  
  391.     char    TransformTo[5];        // 297
  392.  
  393.     UBYTE    QWKReplies;                // 302
  394.     BYTE    SBaseUse;                // 303  which BBSCHARGE rate to use?
  395.     UBYTE    CarbonCopy;                // 304
  396.     UBYTE    CDROM;                    // 305 copy to hard drive before download?
  397.  
  398.     struct    IsDate LastUpload;
  399.     struct    IsDate LastMessage;
  400.  
  401.     short    Users;                    //    how many people are in this sub
  402.                                        //    REAL TIME (not # of members)
  403.  
  404.     long    Created;                    // for membership determination
  405.  
  406.     short    Parent;                    // pointers to other subboard #s
  407.     short    Child;
  408.     short    Next;
  409.  
  410.     short    TimeLock;                // 330 minutes online before available
  411.  
  412.     char    ZeroPath[48];            // 332
  413.     char    Origin  [60];            // 380
  414.  
  415.     // if more room is needed, I could put all of this into a pointer to a 'sub-info' structure
  416.  
  417.     short    MaxItems;                // 440
  418.     UBYTE    Persist;                    // 442
  419.     UBYTE    Delay;                    // 443
  420.  
  421.     struct    ItemType3 *Item;
  422.     struct    ItemHeader *ihead;
  423.     struct    MessageType3 *NewMess;
  424.     struct    SignalSemaphore *sem;
  425.  
  426.     long    nm;                        // 460 # of _Messages
  427.     short    rn;                        // 464 # of _Items
  428.     short    AllocItems;
  429.     short    nNewMess;
  430.  
  431.     UBYTE    resetIP;                    // 470 - set to TRUE to have CNet reset item pointers
  432.  
  433.     char    more_stuff[17];        // 471
  434. };
  435.  
  436.  
  437. struct SubboardType4 {
  438.     char    Title[60];                        // 0   - what user sees
  439.     char    SubDirName[75];                // 60  - also functions as GO argument
  440.     char    DataPath  [95];                // 135 - path to data files - may be different than SubDirName!
  441.     long    Parts;                            // 230 -  partitions 0-31 allowed
  442.  
  443.     long    SubOpIDs [6];                    // 234 - unique user IDs of subbies
  444.  
  445.     short    MRewardBytes;                    // 258 % of byte  size to award
  446.     short    NRewardFiles;                    // 260 # of file creds to award
  447.                                          // uploader each time his file is
  448.                                          // downloaded */
  449.  
  450.     struct    FreeType *free0;            // 262 pointer to free text in _text
  451.  
  452.     // added for v4.22 (beta)
  453.     long    NNTPMaxDupes;                    // 266 - maximum number of dupes to track for NNTP articles
  454.     long    Nada2;                            // 270 - expansion
  455.  
  456.     short    SubOpAccs[6];                    /* 274 - subop ACCOUNT #s */
  457.     char    Filler[6];                        /* 286 shown during SCAN */
  458.     UBYTE    fdelta;                            /* 292 */
  459.     UBYTE    floaded;                            /* 293 */
  460.     UBYTE    Direct;                            /* 294 Disk-exchange type */
  461.     UBYTE    Vote;                                /* 295 May non-sysops add topics? */
  462.     short    FreeDays;                        /* 296 when files are auto-free */
  463.     UBYTE    Subdirectory;                  /* 298 */
  464.     UBYTE    Closed;                            /* 299 */
  465.     long    UnionFlags;                        /* 300 Must have all of these flags */
  466.     long    Access;                            /* 304 Groups which may ENTER */
  467.     long    PostAccess;                        /* 308 Groups which may Post  */
  468.     long    RespondAccess;                    /* 312 ... Respond */
  469.     long    UploadAccess;                    /* 316 ... Upload */
  470.     long    DownloadAccess;                /* 320 ... Download */
  471.     long    ComputerTypes;                    /* 324 */
  472.     long    Hours;                            /* 328 restricted entry hours */
  473.     long    HourUnionFlags;                /* 332 */
  474.     long    HourAccess;                        /* 336 groups which may Enter during Hours*/
  475.     long    Baud;                                /* 340 minimum Baud rate to enter */
  476.     long    BaudHours;                        /* 344 hours to enforce min baud rate */
  477.     UBYTE    Gender;                            /* 348   0 (for unisex) or 'M', 'F' */
  478.     UBYTE    AllowAliases;                  /* 349 */
  479.     UBYTE    PurgeStatus;                    /* 350 */
  480.     UBYTE    Youngest;                        /* 351 */
  481.     UBYTE    EXTRA;                            /* 352 */
  482.     UBYTE    Oldest;                            /* 353 */
  483.  
  484.     struct    IsDate    Sent;                /* 354 FIDO to track new messages */
  485.  
  486.     short    MDownBytes;                        /* 360 % of download bytes to subtract */
  487.     short    NDownFiles;                        /* 362 # of files to subtract per download */
  488.     short    MTimeCredit;                    /* 364 % of time to give back for uploads */
  489.     long    MinFreeBytes;                    /* 366 to upload in this subboard */
  490.     UBYTE    SubSort;                            /* 370 */
  491.     BYTE nothing_now;                        /* 371 */
  492.     short    InactiveDays;                    /* 372 */
  493.  
  494.     UBYTE    RealNames;                        /* 374 use real names instead of Handles? */
  495.     UBYTE    Addressees;                     /* 375 */
  496.     UBYTE    Anonymous;                      /* 376 */
  497.     UBYTE    override;                        /* 377 how to set the use defaults flags in
  498.                                                 newly uploaded items */
  499.  
  500.     UBYTE    Verification;                    /* 378 */
  501.     UBYTE    DupCheck;                        /* 379 */
  502.     UBYTE    ShowUnvalidated;                /* 380 */
  503.     UBYTE    NoMCI;                            /* 381 */
  504.  
  505.     UBYTE    PrivateArea;                    /* 382 0/1 No/Yes ... 2==FORCE */
  506.     BYTE    SDownFiles;                        /* 383 Which download charge schedules? */
  507.     BYTE    SDownBytes;                        /* 384 */
  508.     UBYTE    Test;                                /* 385 test at upload time */
  509.  
  510.     UBYTE    Transform;                        /* 386 run script at upload time */
  511.     UBYTE    AutoAdopt;                        /* 387 Adopt Orphans at a-maint */
  512.     UBYTE    WeedResponses;                    /* 388 Use inactive days against indiv responses */
  513.     UBYTE    NoSignatures;                    /* 389 */
  514.  
  515.     UBYTE    NoReadCharges;                    /* 390 opt to short circuit accounting system */
  516.     UBYTE    NoWriteCharges;                /* 391 for reading/writing messages */
  517.  
  518.     long    Arcs;                                /* 392 which Arcs in BBSARC are allowed uploaded*/
  519.  
  520.     short    UpRatioBytes;                    /* 396 which set of file/byte ratios to use? */
  521.     short    UpChargeBytes;                    /* 398 which set of charges to use?          */
  522.     short    UpRatioFiles;                    /* 400 */
  523.     short    UpChargeFiles;                    /* 402 */
  524.  
  525.     UBYTE    Invitation;                        /* 404 */
  526.     UBYTE    UserMustJoin;                     /* 405 */
  527.     UBYTE    DeleteOwn;                        /* 406 */
  528.     UBYTE    Marker;                            /* 407     0 = Base, 1 = UDBASE, &128 = Killed */
  529.  
  530.     long    Transforms;                        /* 408 which BBSARCS to transform */
  531.  
  532.     long    ExportTo;                        /* 412 */
  533.  
  534.     UBYTE DIZAlphaNumOnly;                /* 416 - strip everything but alpha and numeric text */
  535.     UBYTE UseDIZStripChars;                /* 417 - strip the characters specified in BBSTEXT line 2150 */
  536.     UBYTE UseDIZStripText;                /* 418 - strip any text matching the contents of any line of sysdata:DIZStripText */
  537.     UBYTE DIZStripCR;                        /* 419 - strip carriage return/linefeed from DIZ */
  538.  
  539.     UBYTE    NNTPMarker;                        /* 420 - 0 = no-import/disabled newsgroup
  540.                                              1 = regular NNTPGet newsgroup - full import of header/body
  541.                                              2 = mailing list pseudo-newsgroup
  542.                                              3 = (not yet implemented) NNTPGet headers only - connect to remote host to retrieve body text
  543.                                              4 = (not yet implemented) No NNTPGet - always connect to remote for article list and body text after scanning articles & presenting to user */
  544.  
  545.     UBYTE ReformatDIZ;                    // 18-Feb-97 reformat DIZ - remove multiple spaces between words,
  546.                                                 //                sussessive newlines, tabs, etc,..
  547.  
  548.     UBYTE nada3[2];                        // 421 nothing now
  549.  
  550.     ULONG    count;                            /* 424 replaces the _COUNT file */
  551.     ULONG    hiwater;                            /* 428 */
  552.  
  553.     UBYTE    NetNumber;                        /* 432 */ 
  554.     UBYTE    Locked;                            /* 433 Does AMAINT (or other processes) have a lock here? */
  555.     UBYTE    DLnotifyULer;                    /* 434 */
  556.  
  557.     char    TransformTo[5];                /* 435 */
  558.  
  559.     UBYTE    QWKReplies;                        /* 440 */
  560.  
  561.     BYTE    SBaseUse;                        /* 441  which BBSCHARGE rate to use? */
  562.     UBYTE    CarbonCopy;                        /* 442 */
  563.     UBYTE    CDROM;                            /* 443 copy to hard drive before download? */
  564.  
  565.     struct    IsDate LastUpload;        /* 444 */
  566.     struct    IsDate LastMessage;        /* 450*/
  567.  
  568.     short    Users;                            /* 456  how many people are in this sub
  569.                                                 REAL TIME (not # of members) */
  570.  
  571.     long    Created;                            /* 458  for membership determination */
  572.  
  573.     short                                    Parent,        /* 462 - PHYSICAL number of first subboard on the list to which this subboard belongs (all subboards in the ROOT directory should point to the very first physical subboard) */
  574.                                             Child,        /* 464 - physnum of first subboard in the list to which this subdirectory houses (-1 if none) */
  575.                                             Next;           /* 466 - physnum of the next subboard on the current list (-1 if none) */
  576.  
  577.     short    TimeLock;        /* 468 */
  578.  
  579.     char    ZeroPath[90];    /* 470 */
  580.     char    Origin  [60];  /* 560 */
  581.  
  582.     /* if more room is needed, I could put all of this into a pointer to a
  583.        'sub-info' structure */
  584.  
  585.     USHORT MaxItems;    /* 620 */
  586.     UBYTE    Persist;        /* 622 */
  587.     UBYTE    Delay;        /* 623 */
  588.  
  589.     struct    ItemType3 *Item;            /* 624 */
  590.     struct    ItemHeader *ihead; 
  591.     struct    MessageType3 *NewMess;
  592.     struct    SignalSemaphore *sem;
  593.  
  594.     long    nm;
  595.     USHORT    rn;
  596.     USHORT    AllocItems;
  597.     USHORT    nNewMess;
  598.  
  599.     UBYTE    resetIP;
  600.  
  601.     /* diz support! 11-Jun-96 */
  602.     long    DizTypes;                        /* 652 - which BBSARCs to Diz process (v4.20) */
  603.     UBYTE DizSave;                            /* 656 - 0=don't save back to archive, 1=save DIZ back to archive after edit/changed */
  604.     UBYTE UseSentBy;                        /* 657 - 0=don't tack on sentby's, 1=tack sentbys on uploads */
  605.     UBYTE DizEdit;                            /* 658 - allow diz'd discriptions to be altered/edited - maint users have override can be turned of in user prefs */
  606.  
  607.     LONG    NNTPLastImport;                /* 659 - last NNTP news import date/time */
  608.  
  609.     char    SubDoing[17];                    /* 663 - String to be set for the Where/Action/DOING string in WHO display when use enters this subboard object */
  610.     BYTE  more_stuff[15];
  611.     };                                            /* total length = ??? */
  612.  
  613.  
  614. //struct NewSubboardType4 {
  615. //    char    Title[60];                        /* 0   - what user sees */
  616. //    char    SubDirName[75];                /* 60  - also functions as GO argument */
  617. //    char    DataPath  [95];                /* 135 - path to data files - may be different than SubDirName! */
  618. //    long    Parts;                            /* 230 -  partitions 0-31 allowed */
  619. //
  620. //    long    SubOpIDs [6];                    /* 234 - unique user IDs of subbies */
  621. //
  622. //    short    MRewardBytes;                    /* 258 % of byte  size to award */
  623. //    short    NRewardFiles;                    /* 260 # of file creds to award
  624. //                                          uploader each time his file is
  625. //                                          downloaded */
  626. //
  627. //    struct    FreeType *free0;            /* 262 pointer to free text in _text */
  628. //
  629. //    // added for v4.22 (beta)
  630. //    long    NNTPMaxDupes;                    /* 266 - maximum number of dupes to track for NNTP articles */
  631. //    long    Nada2;                            /* 270 - expansion */
  632. //
  633. //    short    SubOpAccs[6];                    /* 274 - subop ACCOUNT #s */
  634. //    char    Filler[6];                        /* 286 shown during SCAN */
  635. //    UBYTE    fdelta;                            /* 292 */
  636. //    UBYTE    floaded;                            /* 293 */
  637. //    UBYTE    Direct;                            /* 294 Disk-exchange type */
  638. //    UBYTE    Vote;                                /* 295 May non-sysops add topics? */
  639. //    short    FreeDays;                        /* 296 when files are auto-free */
  640. //    UBYTE    Subdirectory;                  /* 298 */
  641. //    UBYTE    Closed;                            /* 299 */
  642. //    long    UnionFlags;                        /* 300 Must have all of these flags */
  643. //    long    Access;                            /* 304 Groups which may ENTER */
  644. //    long    PostAccess;                        /* 308 Groups which may Post  */
  645. //    long    RespondAccess;                    /* 312 ... Respond */
  646. //    long    UploadAccess;                    /* 316 ... Upload */
  647. //    long    DownloadAccess;                /* 320 ... Download */
  648. //    long    ComputerTypes;                    /* 324 */
  649. //    long    Hours;                            /* 328 restricted entry hours */
  650. //    long    HourUnionFlags;                /* 332 */
  651. //    long    HourAccess;                        /* 336 groups which may Enter during Hours*/
  652. //    long    Baud;                                /* 340 minimum Baud rate to enter */
  653. //    long    BaudHours;                        /* 344 hours to enforce min baud rate */
  654. //    UBYTE    Gender;                            /* 348   0 (for unisex) or 'M', 'F' */
  655. //    UBYTE    AllowAliases;                  /* 349 */
  656. //    UBYTE    PurgeStatus;                    /* 350 */
  657. //    UBYTE    Youngest;                        /* 351 */
  658. //    UBYTE    EXTRA;                            /* 352 */
  659. //    UBYTE    Oldest;                            /* 353 */
  660. //
  661. //    struct    IsDate    Sent;                /* 354 FIDO to track new messages */
  662. //
  663. //    short    MDownBytes;                        /* 360 % of download bytes to subtract */
  664. //    short    NDownFiles;                        /* 362 # of files to subtract per download */
  665. //    short    MTimeCredit;                    /* 364 % of time to give back for uploads */
  666. //    long    MinFreeBytes;                    /* 366 to upload in this subboard */
  667. //    UBYTE    SubSort;                            /* 370 */
  668. //
  669. //    BYTE    unused;
  670. //
  671. //    short    InactiveDays;                    /* 372 */
  672. //
  673. //    UBYTE    RealNames;                        /* 374 use real names instead of Handles? */
  674. //    UBYTE    Addressees;                     /* 375 */
  675. //    UBYTE    Anonymous;                      /* 376 */
  676. //    UBYTE    override;                        /* 377 how to set the use defaults flags in
  677. //                                                newly uploaded items */
  678. //
  679. //    UBYTE    Verification;                    /* 378 */
  680. //    UBYTE    DupCheck;                        /* 379 */
  681. //    UBYTE    ShowUnvalidated;                /* 380 */
  682. //    UBYTE    NoMCI;                            /* 381 */
  683. //
  684. //    UBYTE    PrivateArea;                    /* 382 0/1 No/Yes ... 2==FORCE */
  685. //    BYTE    SDownFiles;                        /* 383 Which download charge schedules? */
  686. //    BYTE    SDownBytes;                        /* 384 */
  687. //    UBYTE    Test;                                /* 385 test at upload time */
  688. //
  689. //    UBYTE    Transform;                        /* 386 run script at upload time */
  690. //    UBYTE    AutoAdopt;                        /* 387 Adopt Orphans at a-maint */
  691. //    UBYTE    WeedResponses;                    /* 388 Use inactive days against indiv responses */
  692. //    UBYTE    NoSignatures;                    /* 389 */
  693. //
  694. //    UBYTE    NoReadCharges;                    /* 390 opt to short circuit accounting system */
  695. //    UBYTE    NoWriteCharges;                /* 391 for reading/writing messages */
  696. //
  697. //    long    Arcs;                                /* 392 which Arcs in BBSARC are allowed uploaded*/
  698. //
  699. //    short    UpRatioBytes;                    /* 396 which set of file/byte ratios to use? */
  700. //    short    UpChargeBytes;                    /* 398 which set of charges to use?          */
  701. //    short    UpRatioFiles;                    /* 400 */
  702. //    short    UpChargeFiles;                    /* 402 */
  703. //
  704. //    UBYTE    Invitation;                        /* 404 */
  705. //    UBYTE    UserMustJoin;                     /* 405 */
  706. //    UBYTE    DeleteOwn;                        /* 406 */
  707. //    UBYTE    Marker;                            /* 407     0 = Base, 1 = UDBASE, &128 = Killed */
  708. //
  709. //    long    Transforms;                        /* 408 which BBSARCS to transform */
  710. //
  711. //    long    ExportTo;                        /* 412 */
  712. //
  713. //    UBYTE DIZAlphaNumOnly;                /* 416 - strip everything but alpha and numeric text */
  714. //    UBYTE UseDIZStripChars;                /* 417 - strip the characters specified in BBSTEXT line 2150 */
  715. //    UBYTE UseDIZStripText;                /* 418 - strip any text matching the contents of any line of sysdata:DIZStripText */
  716. //    UBYTE DIZStripCR;                        /* 419 - strip carriage return/linefeed from DIZ */
  717. //
  718. //    UBYTE    NNTPMarker;                        /* 420 - 0 = no-import/disabled newsgroup
  719. //                                             1 = regular NNTPGet newsgroup - full import of header/body
  720. //                                             2 = mailing list pseudo-newsgroup
  721. //                                             3 = (not yet implemented) NNTPGet headers only - connect to remote host to retrieve body text
  722. //                                             4 = (not yet implemented) No NNTPGet - always connect to remote for article list and body text after scanning articles & presenting to user */
  723. //
  724. //    UBYTE ReformatDIZ;                    // 18-Feb-97 reformat DIZ - remove multiple spaces between words,
  725. //                                                //                sussessive newlines, tabs, etc,..
  726. //
  727. //    UBYTE nada3[2];                        // 421 not used currently
  728. //
  729. //    ULONG    count;                            /* 424 replaces the _COUNT file */
  730. //    ULONG    hiwater;                            /* 428 */
  731. //
  732. //    UBYTE    NetNumber;                        /* 432 */ 
  733. //    UBYTE    Locked;                            /* 433 Does AMAINT (or other processes) have a lock here? */
  734. //    UBYTE    DLnotifyULer;                    /* 434 */
  735. //
  736. //    char    TransformTo[5];                /* 435 */
  737. //
  738. //    UBYTE    QWKReplies;                        /* 440 */
  739. //
  740. //    BYTE    SBaseUse;                        /* 441  which BBSCHARGE rate to use? */
  741. //    UBYTE    CarbonCopy;                        /* 442 */
  742. //    UBYTE    CDROM;                            /* 443 copy to hard drive before download? */
  743. //
  744. //    struct    IsDate LastUpload;        /* 444 */
  745. //    struct    IsDate LastMessage;        /* 450*/
  746. //
  747. //    short    Users;                            /* 456  how many people are in this sub
  748. //                                                REAL TIME (not # of members) */
  749. //
  750. //    long    Created;                            /* 458  for membership determination */
  751. //
  752. //    short                                    Parent,        /* 462 - PHYSICAL number of first subboard on the list to which this subboard belongs (all subboards in the ROOT directory should point to the very first physical subboard) */
  753. //                                            Child,        /* 464 - physnum of first subboard in the list to which this subdirectory houses (-1 if none) */
  754. //                                            Next;           /* 466 - physnum of the next subboard on the current list (-1 if none) */
  755. //
  756. //    short    TimeLock;        /* 468 */
  757. //
  758. //    char    ZeroPath[90];    /* 470 */
  759. //    char    Origin  [60];  /* 560 */
  760. //
  761. //    /* if more room is needed, I could put all of this into a pointer to a
  762. //       'sub-info' structure */
  763. //
  764. //    USHORT MaxItems;    /* 620 */
  765. //    UBYTE    Persist;        /* 622 */
  766. //    UBYTE    Delay;        /* 623 */
  767. //
  768. //    struct    ItemType3 *Item;            /* 624 */
  769. //    struct    ItemHeader *ihead; 
  770. //    struct    MessageType3 *NewMess;
  771. //    struct    SignalSemaphore *sem;
  772. //
  773. //    long    nm;
  774. //    USHORT    rn;
  775. //    USHORT    AllocItems;
  776. //    USHORT    nNewMess;
  777. //
  778. //    UBYTE    resetIP;
  779. //
  780. //    /* diz support! 11-Jun-96 */
  781. //    long    DizTypes;                        /* 652 - which BBSARCs to Diz process (v4.20) */
  782. //    UBYTE DizSave;                            /* 656 - 0=don't save back to archive, 1=save DIZ back to archive after edit/changed */
  783. //    UBYTE UseSentBy;                        /* 657 - 0=don't tack on sentby's, 1=tack sentbys on uploads */
  784. //    UBYTE DizEdit;                            /* 658 - allow diz'd discriptions to be altered/edited - maint users have override can be turned of in user prefs */
  785. //
  786. //    LONG    NNTPLastImport;                /* 659 - last NNTP news import date/time */
  787. //
  788. //    char    SubDoing[17];                    /* 663 - String to be set for the Where/Action/DOING string in WHO display when use enters this subboard object */
  789. //    BYTE  more_stuff[15];
  790. //    };                                                /* total length = ??? */
  791.